home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Latest Shareware Programs: Warp
/
OS-2 WARP - Latest Shareware Programs.iso
/
zipped.os2
/
gnu_c.1
/
emxfix10.doc
< prev
next >
Wrap
Text File
|
1994-09-17
|
6KB
|
222 lines
===============================================================================
emxfix10.doc emx 0.8h FIX 10 26-Jul-1994
===============================================================================
Copyright (c) 1993-1994 by Eberhard Mattes
Introduction
------------
emxfix10.zip is a fix package for emx 0.8h. It contains all fixes and
new features of emxfix01.zip through emxfix09.zip, and new fixes.
Caveat
------
Do not install this fix package unless you have installed emx 0.8h.
It doesn't work with any other release of emx. Do not install
emxfix10.zip if you have already installed a later fix package.
Problems solved by this fix package
-----------------------------------
[emxfix10.zip]
o qsort() is not robust w.r.t. broken comparison functions which
never return 0
o Forgot to include /emx/lib/dll0.o and /emx/lib/dll0.obj in
emxfix03.zip through emxfix09.zip.
[emxfix09.zip]
o A change in emx.dll (revision index 17) of emxfix08.zip breaks
programs such as bash which use fork/exec
o Static constructors and destructors of C++ programs dynamically
linked to the C run-time library (emxlibc.dll, for instance, with
-Zmtd) are not called. You have relink the programs to take
advantage of the fix
o _fnlwr() translates to lower case in too many cases (the fixed
version translates path names only on FAT and CDFS file systems;
UNC paths are never translated)
[emxfix08.zip]
o The %j specifier of strftime() should yield 1 through 366 instead
of 0 through 365.
o The prototype for _fsetmode() is missing in stdio.h
o __portaccess() of sysst.lib and sysmt.lib always fails
o The heap of a dumped executable (such as emacs.exe) is not handled
correctly under DOS
[emxfix07.zip]
o Forgot to include /emx/src/lib/io/eadread.c in emxfix06.zip.
o The prototype of signal() is incomplete.
o CN_REALLOCPSZ is misspelled in os2emx.h.
o The numbers in /emx/test/mathtest.ok are not correctly formatted.
o GPPDEMID.DLL does not work correctly for templates.
o scanf ("%x") does not skip "0x".
o _ead_add() does not work correctly when the ead is non-empty.
o _emx_thunk1() does not save the ES register.
[emxfix06.zip]
o Forgot to include /emx/src/lib/misc/gcvt.c in emxfix05.zip.
o A typo in /emx/src/lib/math/pow.s causes problems with GAS 2.x.
o There is a memory leak in _ead_read().
o An OS/2 bug breaks _ead_read().
[emxfix05.zip]
o Forgot to include os2.a in emxfix04.zip.
o v_clear() doesn't clear the screen.
o printf ("%c", 0) doesn't produce any output.
[emxfix04.zip]
o scanf() rejects floating point numbers with a trailing decimal point.
[emxfix03.zip]
o The window manager functions sometimes produce garbage on the
screen because the data isn't properly allocated for access by
16-bit code.
o Rebuilding emxlibc.dll doesn't work because res0.s defines _text.
o _osmode is not defined when building a DLL. Therefore, setjmp()
and longjmp() cannot be used.
o _wildcard() doesn't keep the letter case of the directory part.
This breaks RCS on FAT drives.
[emxfix02.zip]
o emxl.exe and all programs bound with emxl.exe crash under DOS if
VSHIELD /SWAP is active.
o complex.h #includes Complex.h instead of Complx.h.
o scanf() has a memory leak when using floating point conversions.
[emxfix01.zip]
o _msize() does not return the correct value.
o The conversion of a `long double' to an `unsigned long long'
doesn't work when linking with LINK386 (-Zomf). In consequence, a
program which tries to print a non-zero floating point number with
printf ("%f") crashes.
Features added by this fix package
----------------------------------
[emxfix10.zip]
o Add support of new[] and delete[] for GCC 2.6.
[emxfix09.zip]
[emxfix08.zip]
[emxfix07.zip]
[emxfix06.zip]
o Add more Workplace Shell functions to os2emx.h.
[emxfix05.zip]
o Add some Workplace Shell functions to os2emx.h.
[emxfix04.zip]
o Add DosMon* (device monitors) functions.
o Add Spl* (spooler) functions.
o Add the gcvt() function for converting a floating point number to
an ASCII string.
o Support indirect calls to 16-bit functions: _THUNK_CALLI. You
have to convert the address returned by DosQueryProcAddr to a
16:16 far pointer before passing it to _THUNK_CALLI.
o Add a Workplace Shell sample program: Flag (see
/emx/sample/makefile for details).
Installing this fix package
---------------------------
1. Stop all processes which use emxlibc.dll. Use
emxload -qw
to stop preloaded programs under OS/2.
2. Unpack emxfix10.zip in the root directory of the drive where
you have installed emx:
cd \
unzip -o emxfix10
Do not use the -f and -u options of unzip -- the time stamp of
header files has not been updated.
3. Type the following commands to rebuild the OMF-style libraries
(you don't need this step under DOS):
cd \emx\lib
del c.lib cmt.lib cdll.lib cdllobj.lib gcc.lib
del os2.lib video.lib wrap.lib
omflib
4. Type the following commands to update emxl.exe in the executables
in \emx\bin (you don't need this step if you have already
installed emxfix02.zip or later):
cd \emx\bin
emxload -qw <-- This command is not required under DOS
emxlfixs
5. Use
emxbind -uq \emx\bin\emxl PROGRAM
to update emxl.exe in any other executables. PROGRAM is the path
name of the executable to be updated (you don't need this step if
you have already installed emxfix02.zip or later).
6. To take advantage of the fixes to the static libraries, relink
your programs.
7. Delete \emx\test\c16test.c -- it has been replaced by c16test1.c
and c16test2.c (you don't need this step if you have already
installed emxfix04.zip or later).
You should keep the file \emx\doc\emxfix10.doc as it shows what fixes
you have installed.
--------------------------- END OF EMXFIX10.DOC ------------------------------